package sv.gob.mtps.colectivas.model;

// Generated Dec 29, 2013 5:35:54 PM by Hibernate Tools 3.4.0.CR1

import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;

import static javax.persistence.GenerationType.IDENTITY;

import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 * TbSolicitante generated by hbm2java
 */
@Entity
@Table(name = "tb_solicitante")
public class TbSolicitante implements java.io.Serializable {

	private Integer idSolicitante;
	private CatMunicipio catMunicipio;
	private String nombreSolicitante;
	private Integer edad;
	private Character genero;
	private String ocupacion;
	private String direccion;
	private String documento;
	private String numeroDocumento;
	private String telefono;
	private Set<TbDespidoSolicitante> tbDespidoSolicitantes = new HashSet<TbDespidoSolicitante>(
			0);
	private Set<TbSolicitudSolicitante> tbSolicitudSolicitantes = new HashSet<TbSolicitudSolicitante>(
			0);
	
	@Transient
	private Integer idSolicitud;
	
	@Transient
	private Integer idSolicitudSolicitante;

	public TbSolicitante() {
	}

	public TbSolicitante(CatMunicipio catMunicipio) {
		this.catMunicipio = catMunicipio;
	}

	public TbSolicitante(CatMunicipio catMunicipio, String nombreSolicitante,
			Integer edad, Character genero, String ocupacion, String direccion,
			String documento, String numeroDocumento, String telefono,
			Set<TbDespidoSolicitante> tbDespidoSolicitantes,
			Set<TbSolicitudSolicitante> tbSolicitudSolicitantes) {
		this.catMunicipio = catMunicipio;
		this.nombreSolicitante = nombreSolicitante;
		this.edad = edad;
		this.genero = genero;
		this.ocupacion = ocupacion;
		this.direccion = direccion;
		this.documento = documento;
		this.numeroDocumento = numeroDocumento;
		this.telefono = telefono;
		this.tbDespidoSolicitantes = tbDespidoSolicitantes;
		this.tbSolicitudSolicitantes = tbSolicitudSolicitantes;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id_solicitante", unique = true, nullable = false)
	public Integer getIdSolicitante() {
		return this.idSolicitante;
	}

	public void setIdSolicitante(Integer idSolicitante) {
		this.idSolicitante = idSolicitante;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "municipio", nullable = false)
	public CatMunicipio getCatMunicipio() {
		return this.catMunicipio;
	}

	public void setCatMunicipio(CatMunicipio catMunicipio) {
		this.catMunicipio = catMunicipio;
	}

	@Column(name = "nombre_solicitante")
	public String getNombreSolicitante() {
		return this.nombreSolicitante;
	}

	public void setNombreSolicitante(String nombreSolicitante) {
		this.nombreSolicitante = nombreSolicitante;
	}

	@Column(name = "edad")
	public Integer getEdad() {
		return this.edad;
	}

	public void setEdad(Integer edad) {
		this.edad = edad;
	}

	@Column(name = "genero", length = 1)
	public Character getGenero() {
		return this.genero;
	}

	public void setGenero(Character genero) {
		this.genero = genero;
	}

	@Column(name = "ocupacion")
	public String getOcupacion() {
		return this.ocupacion;
	}

	public void setOcupacion(String ocupacion) {
		this.ocupacion = ocupacion;
	}

	@Column(name = "direccion")
	public String getDireccion() {
		return this.direccion;
	}

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	@Column(name = "documento", length = 45)
	public String getDocumento() {
		return this.documento;
	}

	public void setDocumento(String documento) {
		this.documento = documento;
	}

	@Column(name = "numero_documento", length = 45)
	public String getNumeroDocumento() {
		return this.numeroDocumento;
	}

	public void setNumeroDocumento(String numeroDocumento) {
		this.numeroDocumento = numeroDocumento;
	}

	@Column(name = "telefono", length = 45)
	public String getTelefono() {
		return this.telefono;
	}

	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "tbSolicitante")
	public Set<TbDespidoSolicitante> getTbDespidoSolicitantes() {
		return this.tbDespidoSolicitantes;
	}

	public void setTbDespidoSolicitantes(
			Set<TbDespidoSolicitante> tbDespidoSolicitantes) {
		this.tbDespidoSolicitantes = tbDespidoSolicitantes;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "tbSolicitante")
	public Set<TbSolicitudSolicitante> getTbSolicitudSolicitantes() {
		return this.tbSolicitudSolicitantes;
	}

	public void setTbSolicitudSolicitantes(
			Set<TbSolicitudSolicitante> tbSolicitudSolicitantes) {
		this.tbSolicitudSolicitantes = tbSolicitudSolicitantes;
	}

	public Integer getIdSolicitud() {
		return idSolicitud;
	}

	public void setIdSolicitud(Integer idSolicitud) {
		this.idSolicitud = idSolicitud;
	}

	public Integer getIdSolicitudSolicitante() {
		return idSolicitudSolicitante;
	}

	public void setIdSolicitudSolicitante(Integer idSolicitudSolicitante) {
		this.idSolicitudSolicitante = idSolicitudSolicitante;
	}

}
